import java.util.stream.IntStream;

/**
 * @author EvanHuang
 * @date 11/3/2018 1:04 PM
 * @since
 */
public class StreamDemo1 {

    public static void main(String[] args) {
        int[] nums = {1,2,3};
        int sum = 0;
        for (int num : nums) {
            sum += num;
        }
        System.out.println("结果为: "+ sum);

        //使用stream的内部迭代
        // map是中间操作(返回stream的操作)
        // sum是终止操作
        System.out.println(IntStream.of(nums).map(StreamDemo1::doubleNum).sum());

        System.out.println("惰性求值就是终止没有调用的情况下，中间操作不会执行");
        IntStream.of(nums).map(StreamDemo1::doubleNum);
    }

    public static int doubleNum(int i) {
        System.out.println("执行了乘以2..");
        return i*2;
    }
}
